Certain computer systems are used in a number of industries, such as the communications industry, for order entry and order fulfillment. Order entry is the process of electronically receiving orders and entering the orders into the computer system, where the orders are stored as one or more entities within the computer system, so that the orders can be electronically fulfilled. Orders can contain data regarding one or more products, the pricing of one or more products, and one or more offers related to the one or more products. Orders can be received from any type of customer, such as businesses and individual consumers. Order fulfillment is the process of electronically fulfilling the orders, once the orders have been entered into the computer system. Order fulfillment generally entails one or more of the following steps: validating the order, interfacing the order to a billing system or subsystem, shipping physical goods, scheduling installation of equipment, installing equipment, and activating services. Order fulfillment can also entail other steps not listed that are part of a process of electronically fulfilling an order.
Faced with industry dynamics that prioritize agility in implementing both superficial and fundamental changes, the communications industry has struggled to deploy order fulfillment solutions that support versatility in a manageable way. Common industry approaches typically start with fulfillment solutions that are fundamentally architected to address a narrow set of products/services/technologies and incrementally broaden their capabilities. Getting beyond the limitations of this typically leads service providers to add entirely new solution stacks to address new domains.